﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Web.Security;
using dao.commons;
using dao.daos;
using negocio.entidades;

namespace negocio.servicios
{
    public class UsuarioService
    {
        UsuarioDao dao = new UsuarioDao();

        public bool EstaAutenticado(string usuario, string password)
        {
            bool res = false;
            SqlDataReader dr = dao.ObtenerPorNombre(usuario);
            if (dr.HasRows)
            {
                Usuario user = LeerDataReader(dr);
                if (user.Pass == password)
                    res = true;
            }
            return res;
        }

        public string ObtenerRoles(string usuario)
        {
            string res = "anonimo";
            SqlDataReader dr = dao.ObtenerPorNombre(usuario);
            if (dr.HasRows)
            {
                Usuario user = LeerDataReader(dr);
                if (user.EsAdministrador == true)
                    res = "administrador";
                else if (user.EsAdministrador == false)
                    res = "empleado";
            }
            return res;
        }

        private Usuario LeerDataReader(SqlDataReader dr)
        {
            Usuario bus = new Usuario();
            if (dr.Read())
            {
                bus.Id = SafeReader.GetSafeInt(dr, "ID_USUARIO");
                bus.Nombre = SafeReader.GetSafeString(dr, "NOMBRE");
                bus.Pass = SafeReader.GetSafeString(dr, "PASS");
                bus.EsAdministrador = SafeReader.GetSafeBoolean(dr, "ES_ADMINISTRADOR");
            }
            dr.Close();
            return bus;
        }
    }
}
